#include "pbdata.h"   //引入自定义公共头文件

/*********************************************************************************
*   函 数 名: delay_us
*   功能说明: 微秒延时程序，注意此函数的运行环境为(16M时钟速度)
*   形    参：nCount要延时的微秒数，输入nCount=1微妙
*   返 回 值: 无
*********************************************************************************/
void delay_us(u16 nCount)   //16M 晶振时  延时 1个微妙
{
    nCount*=3;//等同于 nCount=nCount*3  相当于把nCount变量扩大3倍
    while(--nCount);//nCount变量数值先减一，再判断nCount的数值是否大于0，大于0循环减一，等于0退出循环。
}

/*********************************************************************************
*   函 数 名: delay_ms
*   功能说明: 毫秒延时程序，注意此函数的运行环境为(16M时钟速度)
*   形    参：nCount要延时的毫秒数，输入nCount=1毫秒
*   返 回 值: 无
*********************************************************************************/
void delay_ms(u16 nCount)  //16M 晶振时  延时 1个毫秒
{
    while(nCount--)//先判断while()循环体里的nCount数值是否大于0，大于0循环，减一执行循环体，等于0退出循环。
    {
        delay_us(1000);//调用微妙延时函数，输入1000等译演示1毫秒。
    }
}

/************************************************************************************************
*   函 数 名: Get_decimal
*   功能说明: 获得数值小数部分
*   形    参：dt输入数据 deci小数位数,最多保留4位小数
*   返 回 值: 放大后的小数部分
*************************************************************************************************/
u16 Get_decimal(double dt,u8 deci)   //获得数值小数部分
{
    long x1=0;
    u16 x2=0,x3=0;
    
    if(deci>4) deci=4;
    if(deci<1) deci=1;
    x3=(u16)pow(10, deci);
    x1=(long)(dt*x3);
    x2=(u16)(x1%x3);
    return x2;
}



/************************ 论坛地址 www.zxkjmcu.com *******************************/